#此扩展用于的模块扩展处理,用于支撑模块的
#   SUPPORT_3RD_PKG_NAME:
#       用于标准后期适配库的包名称
#       EWX里后期脚本使用变量都与此变量有关系
#       查找包的名称可与之相同也可以不同
#   EWX_HAS_CONAN_ENV:
#       此变量是公共cmake模块查找conan环境决定的变量类型
#       目的是为了支撑conan方式和非conan方式的同时处理
#   此模块主要决定以下几个环境支撑
#   [1]查找模块
#   [2]编绎目标
#   [3]调试环境变量:
#       生成VS调试环境的变量处理
#   安装:
#       自动安装库文件到安装目录
include(support_3rd_utils)
SET(SUPPORT_3RD_PKG_NAME ObjectFactoryCore)

IF(EWX_HAS_CONAN_ENV)
    message(NOTICE "${SUPPORT_3RD_PKG_NAME} Use Conan Env Mode....")
    find_package(${SUPPORT_3RD_PKG_NAME} REQUIRED)

    #调试环境变量
    MAKE_3RD_PKG_RUNTIME(${SUPPORT_3RD_PKG_NAME} ${CONAN_OBJECTFACTORYCORE_ROOT})
    
    #打包使用
    INSTALL_3RD_PKG(${SUPPORT_3RD_PKG_NAME} ${CONAN_OBJECTFACTORYCORE_ROOT})
ELSE()
    message(NOTICE "${SUPPORT_3RD_PKG_NAME} Use Normal Package Mode....")

    #这里通过手动适配位置 by luli
    IF(NOT ${SUPPORT_3RD_PKG_NAME}_ROOT_DIR OR NOT EXISTS ${${SUPPORT_3RD_PKG_NAME}_ROOT_DIR})
        SEARCH_3RD_MAYBE_PATH(${SUPPORT_3RD_PKG_NAME}_ROOT_DIR 
            ${PROJECT_3RDPARTY_DIR}/ObjectFactoryCore-1.0.1-x64-vs2017
            ${PROJECT_3RDPARTY_DIR}/ObjectFactoryCore-1.0.1
        )
    ENDIF()

    find_package(${SUPPORT_3RD_PKG_NAME} REQUIRED)

    #调试环境变量
    MAKE_3RD_PKG_RUNTIME(${SUPPORT_3RD_PKG_NAME} ${ObjectFactoryCore_ROOT_DIR})
    
    #打包使用
    INSTALL_3RD_PKG(${SUPPORT_3RD_PKG_NAME} ${ObjectFactoryCore_ROOT_DIR})
ENDIF()